package avicit.bdp.dgs.standard.vo;

import avicit.bdp.common.base.BaseDTO;
import avicit.bdp.dgs.standard.dto.LookupTableValueDto;
import avicit.platform6.core.annotation.log.FieldRemark;
import avicit.platform6.core.annotation.log.LogField;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Transient;
import java.util.List;

/**
 * 数据标准-码表导入记录
 *
 * @author mayi
 */
@ApiModel(value = "LookupTableImportResult", description = "码表导入记录")
public class LookupTableImportResult extends BaseDTO {

  private static final long serialVersionUID = 1L;

  /** 码表名称 */
  @Excel(name = "*名称", orderNum = "1", width = 15, needMerge = true)
  @LogField
  @ApiModelProperty(value = "码表名称", name = "name")
  @FieldRemark(column = "name", field = "name", name = "码表名称")
  private String name;

  /** 码表编码 */
  @Excel(name = "*代码", orderNum = "2", width = 15, needMerge = true)
  @LogField
  @ApiModelProperty(value = "码表编码", name = "code")
  @FieldRemark(column = "code", field = "code", name = "码表编码")
  private String code;

  @Excel(name = "*分类全路径", orderNum = "3", width = 30, needMerge = true)
  @ApiModelProperty(value = "分类全路径", name = "fullTypeName")
  @Transient
  private String fullTypeName;

  /** 描述 */
  @Excel(name = "描述", orderNum = "4", needMerge = true)
  @LogField
  @ApiModelProperty(value = "描述", name = "remark")
  @FieldRemark(column = "remark", field = "remark", name = "描述")
  private String remark;

  @ExcelCollection(name = "码值", orderNum = "5")
  @Transient
  private List<LookupTableValueDto> valueDtoList;

  // 校验过程中的错误信息
  @Excel(name = "错误信息", orderNum = "6", needMerge = true)
  @ApiModelProperty(value = "错误信息", name = "errorMsg")
  private String errorMsg;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getCode() {
    return code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  public String getFullTypeName() {
    return fullTypeName;
  }

  public void setFullTypeName(String fullTypeName) {
    this.fullTypeName = fullTypeName;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public List<LookupTableValueDto> getValueDtoList() {
    return valueDtoList;
  }

  public void setValueDtoList(List<LookupTableValueDto> valueDtoList) {
    this.valueDtoList = valueDtoList;
  }

  public String getErrorMsg() {
    return errorMsg;
  }

  public void setErrorMsg(String errorMsg) {
    this.errorMsg = errorMsg;
  }
}
